package main

import (
	"errors"
	"fmt"
)

func main() {
	testDiv()
	println("程序结束")

}
func testDiv() {
	defer func() {
		err := recover()
		if err != nil {
			fmt.Println("error happen")
			fmt.Println(err)
		}
	}() // 匿名函数， 通过匿名函数捕获抛出的异常
	err := divide(10, 0)
	if err != nil {
		fmt.Println(err)
		panic(err) // 抛出自定义异常
	}
	fmt.Println("执行成功")
}
func divide(num1 int, num2 int) (err error) {
	if num2 == 0 {
		return errors.New("除数不能为0") // 创建自定义 异常
	} else {
		fmt.Println(num1 / num2)
		return nil
	}
}
